package com.javaee.ch10.dao;

import com.javaee.ch10.common.base.GenericDao;
import com.javaee.ch10.entity.Reader;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 数据访问对象（DAO）类，用于管理 Reader 实体对象。 继承自 GenericDao，提供添加、删除、查询和更新 Reader 对象的基本功能。
 */
@Component
public class ReaderDao extends GenericDao<Reader> {

    /**
     * 初始化 读者数据集合
     */
    public ReaderDao() {
        // 插入5条读者数据
        this.addEntity(Reader.builder()
               .id(1L)
               .name("张三")
               .gender("男")
               .phone("13800138000")
               .email("zhangsan@example.com")
               .address("北京市朝阳区")
               .cardNumber("000001")
               .avatarUrl("/site/images/avatar1.png")
               .remark("普通读者")
               .build());
        this.addEntity(Reader.builder()
               .id(2L)
               .name("李四")
               .gender("女")
               .phone("13900139000")
               .email("lisi@example.com")
               .address("上海市浦东新区")
               .cardNumber("000002")
               .avatarUrl("/site/images/avatar2.png")
               .remark("高级读者")
               .build());
        this.addEntity(Reader.builder()
               .id(3L)
               .name("王五")
               .gender("男")
               .phone("13700137000")
               .email("wangwu@example.com")
               .address("广州市天河区")
               .cardNumber("000003")
               .avatarUrl("/site/images/avatar3.png")
               .remark("新读者")
               .build());
        this.addEntity(Reader.builder()
               .id(4L)
               .name("赵六")
               .gender("女")
               .phone("13600136000")
               .email("zhaoliu@example.com")
               .address("深圳市福田区")
               .cardNumber("000004")
               .avatarUrl("/site/images/avatar4.png")
               .remark("长期读者")
               .build());
        this.addEntity(Reader.builder()
               .id(5L)
               .name("孙七")
               .gender("男")
               .phone("13500135000")
               .email("sunqi@example.com")
               .address("杭州市西湖区")
               .cardNumber("000005")
               .avatarUrl("/site/images/avatar5.png")
               .remark("VIP读者")
               .build());
    }

    // 可以在这里添加 ReaderDao 特定的方法，例如根据读者证号查询读者等
}    